import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import axios from 'axios'

Vue.config.productionTip = false
Vue.prototype.$http = axios

axios.defaults.baseURL = 'http://localhost:8081/'

//前置路由守卫 to: 即将要访问的路径 from: 从哪里来 next: 放行函数
router.beforeEach((to,from,next)=>{
  // 登录页面，直接放行
  if(to.path === "/login"){
     //放行
    return next();
  }
  // 获取sessionStorage中保存的token值
  const token = window.sessionStorage.getItem("token");
  // 如果token不存在，跳转到登录页面
  if(!token){
    return next("/login");
  }
  // 如果token存在，直接放行
  next();
})

//请求拦截器
axios.interceptors.request.use(config=>{
  var token = sessionStorage.getItem("token");
  if(token){
    config.headers.token = token;
  }
  return config;
})

//设置响应拦截器
axios.interceptors.response.use(response=>{
  if(response.data.code===200){
      Vue.prototype.$message.success(response.data.msg);
      return response;
  }else {
      Vue.prototype.$message.error(response.data.msg);
      return response;
  }
})


new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
